package Day05;
import java.util.Arrays;
import java.util.Random;
public class exercise {
    public static void main(String[] args) {
        Random rand=new Random();
        //九九乘法表
        for (int num=1;num<=9;num++){
            for (int i=1;i<=num;i++){
            System.out.print(i+"*"+num+"="+i*num+"\t");
            }
            System.out.println();
        }
        //定义至少两个数组，设计包含一些元素
        int[] a1=new int[3];
        int[] a2={1,2,3};
        //定义至少三个数组，演示三种元素初始化方式
        int[] a=new int[5];
        int[] b={1,2,3,4,5,6,7};
        int[] c=new int[]{1,2,3,4,5};
        int[] d;
        d=new int[]{1,2,3,4,5};
        //定义数组，输出数组的长度
        int[] b1=new int[3];
        System.out.println(b1.length);
        //定义数组并分别给每个元素赋值，输出最后一个元素的值
        b1[0]=100;
        b1[1]=200;
        b1[2]=300;
        //编写代码演示数组操作常见的异常----数组下标越界
        //b1[3]=400;//运行时发生ArrayIndexOutOfBoundsException数组下标越界异常
        System.out.println(b1[b1.length-1]);
        //定义数组，包含10个元素，遍历数组，给每个元素赋值为0到99之间的随机数，输出每个元素的值
        int[] arr=new int[10];
        for (int i=0;i< arr.length;i++){
            arr[i]=rand.nextInt(100);
            System.out.print(arr[i]+"\t");
        }
        System.out.println();
        //数组小代码练习：复制
        int[] d1={10,20,30,40,50};
        d1=Arrays.copyOf(d1,d1.length+1);
        for (int i=0;i< d1.length;i++){
            System.out.print(d1[i]+"\t");
        }
        System.out.println();
        //定义数组，包含10个元素，遍历数组，给每个元素赋值为0到99之间的随机数并输出，找到数组元素的最大值并输出，并将最大值放在最后一个元素的下一个位置
        int[] arr1=new int[10];
        for (int i=0;i< arr1.length;i++){
            arr1[i]=rand.nextInt(100);
            System.out.println(arr1[i]);
        }
        int max=arr1[0];
        for (int i=1;i< arr1.length;i++){
            if (arr1[i]>max){
                max=arr1[i];
            }
        }
        System.out.println("最大值:"+max);
        arr1=Arrays.copyOf(arr1,arr1.length+1);
        arr1[arr1.length-1]=max;
        for (int i=0;i< arr1.length;i++){
            System.out.println(arr1[i]);
        }
        System.out.println();
        //对数组进行升序排列，并输出排序后的结果
        int[] y=new int[10];
        for (int i=0;i< y.length;i++){
            y[i]=rand.nextInt(100);
            System.out.println(y[i]);
        }
        Arrays.sort(y);
        System.out.println("排序后");
        for (int i=0;i< y.length;i++){
            System.out.println(y[i]);
        }
        System.out.println("倒着输出");
        for (int i=y.length-1;i>=0;i--){
            System.out.println(y[i]);
        }
    }
}
